home *** CD-ROM | disk | FTP | other *** search
-
-
- (function() {
-
- var p = {
-
- eventDelegates: {
- down: 'downAction'
- },
-
- activeChanged: function() {
- this.super();
-
- if (this.$.ripple) {
- if (this.active) {
- // FIXME: remove when paper-ripple can have a default 'down' state.
- if (!this.lastEvent) {
- var rect = this.getBoundingClientRect();
- this.lastEvent = {
- x: rect.left + rect.width / 2,
- y: rect.top + rect.height / 2
- }
- }
- this.$.ripple.downAction(this.lastEvent);
- } else {
- this.$.ripple.upAction();
- }
- }
-
- this.adjustZ();
- },
-
- disabledChanged: function() {
- this._disabledChanged();
- this.adjustZ();
- },
-
- recenteringTouchChanged: function() {
- if (this.$.ripple) {
- this.$.ripple.classList.toggle('recenteringTouch', this.recenteringTouch);
- }
- },
-
- fillChanged: function() {
- if (this.$.ripple) {
- this.$.ripple.classList.toggle('fill', this.fill);
- }
- },
-
- adjustZ: function() {
- if (!this.$.shadow) {
- return;
- }
- if (this.active) {
- this.$.shadow.setZ(2);
- } else if (this.disabled) {
- this.$.shadow.setZ(0);
- } else {
- this.$.shadow.setZ(1);
- }
- },
-
- downAction: function(e) {
- this._downAction();
-
- if (this.hasAttribute('noink')) {
- return;
- }
-
- this.lastEvent = e;
- if (!this.$.ripple) {
- var ripple = document.createElement('paper-ripple');
- ripple.setAttribute('id', 'ripple');
- ripple.setAttribute('fit', '');
- if (this.recenteringTouch) {
- ripple.classList.add('recenteringTouch');
- }
- if (!this.fill) {
- ripple.classList.add('circle');
- }
- this.$.ripple = ripple;
- this.shadowRoot.insertBefore(ripple, this.shadowRoot.firstChild);
- // No need to forward the event to the ripple because the ripple
- // is triggered in activeChanged
- }
- }
-
- };
-
- Polymer.mixin2(p, Polymer.CoreFocusable);
- Polymer('paper-button-base',p);
-
- })();
-
-